/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package SysAguas.Testes;

import SysAguas.dao.DAOHospede;
import SysAguas.modelo.Endereco;
import SysAguas.modelo.Hospede;
import SysAguas.modelo.Telefone;
import java.util.Calendar;
import java.util.List;

/**
 *
 * @author Heitor
 */
public class HospedeTeste {

    public static void main(String[] args) {

   


        Hospede hop = new Hospede();
//cadastrando o hospede *****************
  /*      hop.setNome("Junior");
        hop.setSobrenome("Lima");
        hop.setDataModificacao(Calendar.getInstance().getTime());

        dao.cadastrar(hop);*/

/*
//Buscando o hospede*****************
        hop = dao.consultarPorChave(Hospede.class, 20);
        System.out.println(hop.getNome());
        Endereco end = dao.consultarPorChave(Endereco.class, 2);
        Telefone tel1 = dao.consultarPorChave(Telefone.class, 11);
        Telefone tel2 = dao.consultarPorChave(Telefone.class, 12);
        System.out.println(tel2.getNumero());
/*
//Atualizando o hospede ********************
        dao.abreConexao();
        dao.getEntityManeger().getTransaction().begin();

        hop.addTelefone(tel1);
        tel1.setHospede(hop);

        hop.addTelefone(tel2);
        tel2.setHospede(hop);

        hop.setEnderecoH(end);
        end.setHospedeE(hop);

        dao.getEntityManeger().merge(hop);
        dao.getEntityManeger().merge(tel1);
        dao.getEntityManeger().merge(tel2);
        dao.getEntityManeger().flush();
        dao.getEntityManeger().getTransaction().commit();
        dao.fechaConexao();
/**/

//remover hospede ******************

  //    dao.remover(hop);// Como o cascade é ALL exclui o endereco e telefones tb
/**/

        
/*
//getlista de hospedes usando genericis

        List<Hospede> lista =dao.getLista(Hospede.class, "select hop from Hospede hop");
        for (int i = 0; i < lista.size(); i++) {
            System.out.println("Hello " + lista.get(i).getNome()+" \n");
            
        }
        /**/

        DAOHospede dh = new DAOHospede();
        List<Hospede> aa = dh.getHospedesByName("Heitor");
        System.out.println("\n\n"+aa.size()+"\n\n"+aa.get(0).getNome());
        //    Hospede hope = aa.get(1);
    //    System.out.println(hope.getNome());
        List<Hospede> bb = dh.getHospedeByName("Heitor", "Lima");
        System.out.println("\n\n"+bb.get(0).getNome()+" "+bb.get(0).getSobrenome()+"\n\n");

        Hospede ha =new Hospede();
        ha.setNome("Ronilda");
        ha.setDataModificacao(Calendar.getInstance().getTime());
        ha.setSobrenome("Monteiro");

        Telefone ta = new Telefone();
        ta.setDdd("031");
        ta.setNumero("35733122");
        Telefone ca = new Telefone();
        ca.setDdd("031");
        ca.setNumero("98755822");

        Endereco ea = new Endereco();
        ea.setBairro("Souza");
        ea.setCep("35525-000");
        ea.setCidade("Rio Manso");
        ea.setComplemento(null);
        ea.setEstado("MG");
        ea.setPais("Brasil");
        ea.setRua("Rua Olegario Maciel");


      Integer id =  dh.cadastrarHospedeWithALL(ha, ea, ta,ca);
        System.out.println("\n\n Id do hospede:"+id+"\n\n");
    }
}
